package com.huangyi.adminservice.house.domain.entity;

import com.huangyi.commoncore.domain.entity.BaseDO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;

/**
 * 房源信息实体类
 * 
 * <p>存储房源的基本信息，包括：
 * <ul>
 *   <li>房源基本信息：标题、租金类型、楼层、户型等</li>
 *   <li>位置信息：城市、区域、社区、详细地址、经纬度</li>
 *   <li>房源描述：介绍、设备列表、图片信息</li>
 * </ul>
 * 
 * @author huangyi
 * @version 1.0
 * @since 2024
 */
@Data
@EqualsAndHashCode(callSuper=true)
public class House extends BaseDO {
    
    /** 房东用户ID */
    private Long userId;
    
    /** 房源标题 */
    private String title;
    
    /** 出租类型（整租/合租等） */
    private String rentType;
    
    /** 所在楼层 */
    private Integer floor;
    
    /** 总楼层数 */
    private Integer allFloor;
    
    /** 房屋类型（住宅/公寓等） */
    private String houseType;
    
    /** 居室数量（几室几厅） */
    private String rooms;
    
    /** 房屋朝向 */
    private String position;
    
    /** 房屋面积（平方米） */
    private BigDecimal area;
    
    /** 租金价格（元/月） */
    private BigDecimal price;
    
    /** 房源介绍 */
    private String intro;
    
    /** 设备列表（逗号分隔的字符串） */
    private String devices;
    
    /** 头图URL */
    private String headImage;
    
    /** 房源图片列表（JSON字符串） */
    private String images;
    
    /** 城市ID */
    private Long cityId;
    
    /** 城市名称 */
    private String cityName;
    
    /** 区域ID */
    private Long regionId;
    
    /** 区域名称 */
    private String regionName;
    
    /** 社区名称 */
    private String communityName;
    
    /** 详细地址 */
    private String detailAddress;
    
    /** 经度 */
    private BigDecimal longitude;
    
    /** 纬度 */
    private BigDecimal latitude;
}
